/*
This file is part of the Notesnook project (https://notesnook.com/)

Copyright (C) 2022 Streetwriters (Private) Limited

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

const showdown = require("showdown");

var converter = new showdown.Converter();
converter.setFlavor("github");

module.exports.getChangelog = async function (tag) {
  try {
    if (!tag) return;

    const url = `https://api.github.com/repos/streetwriters/notesnook/releases/tags/v${tag}`;
    const response = await fetch(url, {
      headers: { Accept: "application/json" }
    });
    if (!response.ok) return "No changelog found.";

    const release = await response.json();
    if (!release) return "No changelog found.";

    const { body } = release;

    const html = converter.makeHtml(body);
    return html;
  } catch {
    return "No changelog found.";
  }
};
